Thema: Expanding Horizons

Das Zusammenwirken von Testtools und Monitoring für hohe Automatisierung

Die Bedingungen an professionelles Testen von Applikationen werden immer herausfordernder. Da ist zum einen der Trend zu Microservicearchitekturen, der häufiges Testen von vielen kleinen Komponenten erfordert und der viele Integrations- und Regressionstests erfordert. Ein weiterer Trend geht zu dynamischer IT-Infrastruktur: Auslagern in die Cloud oder on premise ergänzt durch Cloud-Ressourcen und das alles dynamisch skalierend um einerseits die Leistung zu gewährleisten und andererseits die Kosten und Wartungsaufwände zu minimieren. Und dann gibt es noch die Erwartungshaltung von uns Endusern, die wir stets und egal unter welchen Bedingungen den Speed von Google Search erwarten.

Um dem allen gerecht zu werden müssen wir unsere Prozesse und Methoden anpassen und häufig auch unsere Werkzeuge und die Art der Zusammenarbeit. Es wäre schön, wenn wir schon während der Entwicklung von Software umfänglich auf Komponentenebene zu testen, ideal ist ein Test as Code Ansatz, der von Entwickler miterledigt werden kann. Ohne Medienbruch und unter Weiterverwendung aller Testaktivitäten sollte die Integrationstest, die End-User-Experience-Tests, die Security-Tests, die Perfomancetests und ... von den Testspezialisten eingebunden werden und zwar mit der Geschwindigkeit der agilen Entwicklung und mit direkter Rückkopplung in die Entwicklung. Da wir ja auch ständig neue Softwarekomponenten releasen und in Betrieb nehmen brauchen wir auch die direkte Verbindung zur Produktion. Je dynamischer wir unser IT-Infrastruktur optimieren desto größer wird der Unterschied zu unseren Test- und Entwicklungsumgebungen. Auch das ist ein Grund warum QA und Operations sehr eng miteinander zusammenarbeiten müssen. Einer unserer Kunden - eine namhafte deutsche Bank - sagt: "wir testen heute nicht nur einzelnen Applikationen wie z.B. die eBanking-Anwendung, sondern auch immer einen ganzen Banktag mit allen Applikationen und dem vollen Anwenderspektrum".

Exemplarisch am Thema Performance-Testen, das in der Vergangenheit sehr häufig nur kurz vor einer Releasefreigabe in einem eigenen Silo zum Tragen kam, wollen wir aufzeigen, wie entwicklungsbegleitende Komponententests über Integrationstest und vollumfassende systemweite Tests bis hinzu Erfassung und Rückkopplung aus der Produktion konzipiert und fast vollständig automatisiert ausgeführt werden können. Dabei zeigen wir, wie unterschiedliche Tools wie zum Beispiel GIT, Jenkins, Selenium, NeoLoad, Dynatrace und Jira sinnvoll mit einander verzahnt werden. Wir zeigen auf, wie automatisiert das sein kann und damit auch wie geeignet so eine Toolchain für DevOps und der Geschwindigkeit von Agile sein kann. Und zu Guter letzt zeigen wir, dass das ganze auch noch mit einer höchst dynamischen und flexiblen IT-Infrastruktur möglich ist. Der ganze Bogen wird abgeschlossen über den Aspekt der Kollaboration, denn ohne dieser würde es schwierig.

Stephan Kehren

Stephan Kehren ist Senior Performance-Ingenieu bei Neotys. Stephan ist Senior Performance-Ingenieur und der festen Überzeugung, dass Performance-Tests schon in den ersten Phasen des Software-Entwicklungszyklus berücksichtigt werden sollten. Er arbeitete an vielen großen Testprogramme in leitender Position in verschiedenen Branchen, von Legacy-Mainframe, SAP und alle Arten von Web-Anwendungen. Er half Kundenteams aus einfachen projektbezogene Belastungstests CoE (Center of Competence) für Performancetest zu entwickeln. Stephan verbrachte 13 Jahre bei Mercury / HP, 7 Jahre mit Microfocus und 3 Jahre bei Capgemini als Performance-Tests Berater. Heute verantwortet er Professional Services in der DACH-Region für Neotys, dem technologie-führenden Performance-Tests und Monitoring-Lösung Anbieter.

Seine Erfahrung als Referent: häufige Vorträge auf den Swiss Testing Tagen, den Imbus QS-Tagen, den Software Quality-Days in Wien und anderen Fachkonferenzen.